home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Very Best of Atari Inside
/
The Very Best of Atari Inside 1.iso
/
mint
/
mntlib43
/
mntlib
/
sozobon
/
readme
< prev
next >
Wrap
Text File
|
1993-09-15
|
6KB
|
146 lines
MiNT library for Heat-n-Serve/Sozobon C, patchlevel 34
This is a port of Eric Smith's MiNT library to Heat-n-Serve C, based on
Dave Gymer's original port. It replaces the files dlibs.a, dstart.o,
and libm.a from the original Heat-n-Serve distribution, and includes a
simple termcap library.
If you are currently using HSC v1.33i or earlier, I _strongly_ recommend
upgrading to at least 1.40 before attempting to compile this library.
The make and ar from previous versions of HSC don't understand ARGV and
hence can't cope with the literally hundreds of command-line arguments
that the makefile tries to throw at them.
As of version 30, you will need extra tools to build the HSC MiNTlibs.
At the site where you found this archive, look for the following
archives:
mntincXX.zoo
The library header files for version XX (currently 30). If
you're using the MiNTlibs at all, you should already have these.
mnthlbXX.zoo
The binary distribution of the MiNTlibs. You will need this for
the floating-point library libm.a, which is no longer distributed
with this archive.
cpp.zoo
A stand-alone C preprocessor. Extremely useful in its own
right, since HSC doesn't have the -E option.
mit2mot.zoo
A MIT-to-Motorola assembly code translator. This and cpp will
be used to convert the .cpp files in the MiNTlibs distribution
to .s files that HSC can deal with.
WHAT'S HERE:
readme
This file.
inistack.s
linea.s
lmalloc.s
sozolong.s
sozulong.s
termcap.c
makefile
HSC-specific source files.
ps.c
Source for a process listing utility, as an example of MiNT
programming.
orig/
Some .s and .c files from previous distributions which are now
built from .cpp files. You shouldn't need these.
WHAT TO DO WITH IT:
0) Obtain all of the files listed above.
1) Copy libm.a from the MiNT binaries distribution to the directory
where the MiNT libraries will live. Install the MiNT header files
if you have not already done so. Put cpp.ttp and mit2mot.ttp
somewhere where make can find them.
2) From the main source directory, delete all files beginning with '_',
as well as linea.c and inistack.c. Copy all the .s files from this
directory, as well as termcap.c and makefile, to the main source
directory.
3) Edit osbind.h from the MiNT include distribution. Find the macro
definitions for trap_14_wllwwwwwlw(), spanning lines 1309-1349 and
1456-1500 (or thereabouts). Delete every scrap of white space you
can from these macros. Otherwise, they overrun HSC's static line
buffer.
4) Replace the gemfast.h from the MiNT distribution with the gemfast.h
from the Heat-n-Serve distribution (the GEMfast that comes with
HSC is almost certainly more recent than the header file from the
MiNT distribution).
5) cd to the main source directory and type `make'. Go watch a
movie. ;)
NB. You may have noticed that the makefile has a `short_names'
target. You should not need to invoke this, unless you want to
build a 1.40-compatible library with a version of HSC that supports
long external identifiers (v2.00 and up).
5a) If you have old versions of make and ar, the actual creation of
dlibs.a should have stopped with an error message. This is because
these old versions simply can't cope with the hideously long command
line necessary to build dlibs.a. At this point, you'll have to
build dlibs.a manually, a few files at a time. Consult the makefile
to see what files need to be added and the necessary commands to add
them. Then type `make' again to build the rest of the distribution.
6) Copy dlibs.a, dstart.o and libtermcap.a (or libtermc.a) to your MiNT
library directory. Also copy aesfast.a and vdifast.a from the
Heat-n-Serve distribution.
HOW TO USE IT:
Couldn't be simpler -- just set the environment variables LIB and
INCLUDE to point to the appropriate directories and go. In fact, you'll
probably never need to use the Heat-n-Serve dLibs package again; I
recommend keeping it around, though, just in case. Should you ever need
to switch back temporarily, just set LIB and INCLUDE accordingly.
DISCLAIMER:
What, you were expecting an ironclad guarantee of performance? ;) Okay,
while I have built several large programs with this library with no
problems, I can't guarantee that there aren't still a few bugs lurking
around in the code. Caveat emptor, use at your own risk, and all that
jazz. And if you should happen to find a bug, please notify me at the
address below.
Have fun!
Scott Bigham dsb@cs.duke.edu
[Here's Dave's original readme file. Little if any of it still applies,
but hey, credit where it's due...]
==========================================================================
Here's my (dodgy) port of MiNTlib to Sozobon C.
This has not been fully tested, and there is no floating point support,
because I have no interest in that direction.
I used the Sozobon C 2.0 source as distributed, built under GCC 1.39 as
a UNIX hosted cross compiler, to do my original port (which was
released as part of pl18 of the library). Later versions were done with
Ian Lepore's 1.33i release. I used GNU make; your mileage under any
other make may vary. I did carry on using a version of ar compiled with
the GCC, since only a version compiled with the MiNTlib understands
about long arg lists, such as the enourmous list of modules given.
To build this library, delete all the *.s and *.cpp files from the main
lib directory, and also linea.c, which clashes with linea.s. Then copy
all the files in the sozobon directory into the lib directory, and hit
make (some adjustment of the makefile may be necessary).
You might look on this as a farewell gift to MiNT, since I'm awaiting
delivery of a brand new 386DX-33 PC to try Linux out on; if it works,
I'm unlikely to use my ST much any more other than for soundtracking
and archival purposes (though I will try to build a cross-gcc, to keep
an eye on how MiNT progresses).
-- Dave Gymer (dpg@Cs.Nott.AC.UK)